<!DOCTYPE html>
<html lang="en">
<head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
</head>
<body>
      <script>
            // 1. 事件驱动 : 
            // 百分之八十的js程序都是由事件驱动的;

            // 2. 事件的绑定方式 :
            // onclick  DOM0事件绑定方式;
            // 一个DOM对象上同名的事件只能存在一个;
            // addEventListener DOM2事件;
            // 一个DOM对象上监听的事件可以存在任意多个;

            // 3. jQuery工具里面的所有事件都是 DOM2事件;
            document.addEventListener("click" , function(){
                  console.log("hello world");
            })
            // 在程序之中触发这个 DOM2 事件;
            // dispatchEvent  事件抛发 : 就是在代码之中执行事件处理函数;
            // js模拟事件的执行;

            // setInterval( function(){
            //       // 定义一个自己的事件类型;
            //       var e = new Event("click");
            //       // 给指定的元素抛出这个事件对象;
            //       document.dispatchEvent(e);
            // } ,100)

            // 如何自己创建一个事件，触发事件处理函数;
            // 1. 创建一个事件对象; new Event("");
            // 2. 使用 dom.dispatchEvent() 去触发事件;
          
            // jQuery 提供给我们一个事件触发器， 这个事件触发器和jQuery事件绑定更为契合;
            // $().trigger("click"); 主动触发 jQuery绑定的事件。
                  
            // 总结 : 之前不会主动触发 addEventlistener 绑定的事件;
            // 现在我们会触发 addEventlistener 绑定事件;
            // 1. new Event();
            // 2. dom.dispathEvent(e);

            // jQuery 封装了同样的功能;
            
            // $().trigger();



      </script>
</body>
</html>